﻿/*
 * LINQ to LDAP
 * http://linqtoldap.codeplex.com/
 * 
 * Copyright Alan Hatter (C) 2010-2012
 * alan.hatter@gmail.com - http://hattercoding.blogspot.com/
 * 
 * This project is subject to licensing restrictions. Visit http://linqtoldap.codeplex.com/license for more information.
 */

using System;
using System.Collections.Generic;
using LinqToLdap.Collections;

namespace LinqToLdap.Mapping
{
    internal class ServerObjectMapping : IObjectMapping
    {
        public Type Type
        {
            get { return GetType(); }
        }

        public bool IsForAnonymousType
        {
            get { return false; }
        }

        public string NamingContext
        {
            get { return null; }
        }

        public string ObjectCategory
        {
            get { return null; }
        }

        public IEnumerable<string> ObjectClasses
        {
            get { return null; }
        }

        public ReadOnlyDictionary<string, string> Properties
        {
            get { return new ReadOnlyDictionary<string, string>(new Dictionary<string, string>()); }
        }

        public IEnumerable<IPropertyMapping> GetPropertyMappings()
        {
            return new List<IPropertyMapping>();
        }

        public IEnumerable<IPropertyMapping> GetUpdateablePropertyMappings()
        {
            return new List<IPropertyMapping>();
        }

        public IPropertyMapping GetPropertyMapping(string name)
        {
            return null;
        }

        public IPropertyMapping GetDistinguishedNameMapping()
        {
            throw new NotSupportedException();
        }

        public object Create(object[] parameters)
        {
            throw new NotSupportedException();
        }
    }
}
